if (do_name() != 'Home') : ?>
Mark Meyer | Parametric surfaces | circle curves
endif ?>size(550, 550) colormode(HSB) background(0.2, 0.02, 0.2) nofill() stroke(0.2, 0.1, 0.8, 0.7) strokewidth(0.25) from math import sin, cos def circle_equation(r, dt): center_x = 0.0 center_y = 0.0 t = 0.0 while True: x = center_x + cos(t) * r y = center_y + sin(t) * r yield x, y t += dt b = 5.5 eq1 = circle_equation(-135, -b) eq2 = circle_equation(-165, b) eq3 = circle_equation(150, b) eq4 = circle_equation(325, b) x1, y1 = eq1.next() x2, y2 = eq1.next() autoclosepath(False) translate(WIDTH/2, HEIGHT/2) beginpath(x1+x2, y1+y2) for i in xrange(360*2): x1, y1 = eq1.next() x2, y2 = eq2.next() x3, y3 = eq3.next() x4, y4 = eq4.next() curveto(x4, y4, x3, y3, x1+x2, y1+y2) endpath()include("util/comment.php"); ?>